import { fileURLToPath, URL } from 'node:url'

import { defineConfig,loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
  // 启动时根据 command 和 mode 加载 env 内容，全局生效
  const env = loadEnv(mode, process.cwd(), "VITE_")
  // 启动时打印 key 的内容
  // console.log(env.VITE_APIKEY,'----------------aaaaaaaaaaaa----------bbbbbbbb-------')
  return {
    base: "/",  //这个是修改为二级目录域名的地方，比如www.xxx.com/*/
    plugins: [
      vue(),
    ],
    server: {
      https: false, // 是否开启 https
      open: true, // 是否自动在浏览器打开
      port: env.VITE_PORT, // 端口号
      hmr: true, //开启热更新
      host: "0.0.0.0",
      proxy: {
        //这里的key是请求的路径，value是对应的代理地址，修改后必须同步修改@/utils/index.js文件中axios.create({baseURL:''的值，以及env文件VITE_API_PROXY_KEY的值
        "/api": {
          target: env.VITE_API_BASE_URL, // 后台接口
          changeOrigin: true,
          secure: false, // 如果是https接口，需要配置这个参数
          // ws: true, //websocket支持
          rewrite: (path) => path.replace(/^\/api/, ""),
        },
      },
    },
    resolve: {
      alias: {
        '@': fileURLToPath(new URL('./src', import.meta.url))
      }
    },

    build: {
      outDir: "dist", // 指定输出路径
      assetsDir: "assets", // 指定生成静态资源的存放路径
      minify: "terser", // 混淆器,terser构建后文件体积更小
      sourcemap: false, //是否构建source map 文件
      terserOptions: {
        compress: {
          drop_console: true, // 生产环境移除console
          drop_debugger: true, // 生产环境移除debugger
        },
      },
    },
  }
})
